#ifndef POSE_CORRECT_H
#define POSE_CORRECT_H

#include <opencv2/opencv.hpp>
#include <vector>


class PoseCorrect
{
public:
	virtual ~PoseCorrect() = default;

	virtual void correct(const cv::Mat& inMat, cv::Mat& outMat);

protected:
	virtual bool findCorners(const cv::Mat& image, std::vector<cv::Point2f>& points);
	virtual void getProjectionMatrix(const cv::Mat& image, cv::Mat& matrix) = 0;
};

#endif
